package com.hy.study.practice.sort;

import java.util.Arrays;

/**
 * 这里是选择排序
 */
public class SelectSort {
    public static void main(String[] args) {
        int arr[] = new int[]{2, 454, 6, -2, 3, 5, 56};
        System.out.println("-------排序之前-----------");
        System.out.println(Arrays.toString(arr));
        selectSort(arr);
        System.out.println("-------排序之后-----------");
        System.out.println(Arrays.toString(arr));
    }


    private static void selectSort(int arr[]) {
        for (int i = 0; i < arr.length-1; i++) {
            int min = arr[i];
            int minIndex = i;
            for (int j = i+1; j < arr.length; j++) {
                if (min > arr[j]) {
                    min = arr[j];
                    minIndex = j;
                }
            }
            if(minIndex!=i){
                arr[minIndex] = arr[i];
                arr[i] = min;
            }

        }


//        //第一次
//        int min = arr[0];
//        int minIndex = 0;
//        for (int i = 1; i < arr.length; i++) {
//            if (min > arr[i]) {
//                min = arr[i];
//                minIndex = i;
//            }
//        }
//        arr[minIndex] = arr[0];
//        arr[0] = min;
//
//
//        //第二次
//         min = arr[1];
//         minIndex = 1;
//        for (int i = 2; i < arr.length; i++) {
//            if (min > arr[i]) {
//                min = arr[i];
//                minIndex = i;
//            }
//        }
//        arr[minIndex] = arr[1];
//        arr[1] = min;
//
//        //第三次
//        min = arr[2];
//        minIndex = 2;
//        for (int i = 3; i < arr.length; i++) {
//            if (min > arr[i]) {
//                min = arr[i];
//                minIndex = i;
//            }
//        }
//        arr[minIndex] = arr[2];
//        arr[2] = min;
  }
}

